package com.augurit.gzcgwsp.excelimportexport.service.impl;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.util.Region;
import org.dozer.DozerBeanMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.augurit.gzcgwsp.excelimportexport.dao.YwRqQyjyxkCyryzkdjbDao;
import com.augurit.gzcgwsp.excelimportexport.entity.YwRqQyjyxkCyryzkdjb;
import com.augurit.gzcgwsp.excelimportexport.service.IYwRqQyjyxkCyryzkdjbService;
import com.augurit.gzcgwsp.rqqyjyxk.entity.YwRqQyjyxkFinalCyryzkdjb;
import com.augurit.gzcgwsp.rqqyjyxk.service.IYwRqQyjyxkFinalCyryzkdjbService;
import com.augurit.gzcgwsp.rqqyjyxk.web.form.YwRqQyjyxkForm;

@Service
@Transactional
public class YwRqQyjyxkCyryzkdjbServiceImpl implements IYwRqQyjyxkCyryzkdjbService {
	
	@Autowired
	YwRqQyjyxkCyryzkdjbDao ywRqQyjyxkCyryzkdjbDao = null;
	@Autowired
	IYwRqQyjyxkFinalCyryzkdjbService cyryzkService;
	/**
	 * 保存 从业人员状况登记表
	 * @param ywRqQyjyxkCyryzkdjb
	 */
	public void save(YwRqQyjyxkCyryzkdjb ywRqQyjyxkCyryzkdjb) {
		// TODO Auto-generated method stub
		ywRqQyjyxkCyryzkdjbDao.save(ywRqQyjyxkCyryzkdjb);
	}
	
	private YwRqQyjyxkCyryzkdjb get(Long qyid){
	    String hql = "from YwRqQyjyxkCyryzkdjb t where t.qyid = :qyid";
	    Map values = new HashMap();
	    values.put("qyid", qyid);
	    return (YwRqQyjyxkCyryzkdjb)ywRqQyjyxkCyryzkdjbDao.findUnique(hql, values);
	}
	
	/**
	 * 解析 从业人员状况登记表
	 * @param hssfsheet
	 * @param acceptNo
	 * @param qyid
	 * @return
	 */
	public YwRqQyjyxkCyryzkdjb parseCyryzkdjb(HSSFSheet hssfsheet,
			String acceptNo, Long qyid, String username) {
		String hql = "from YwRqQyjyxkCyryzkdjb t where t.qyid = "+qyid+"";
		List<YwRqQyjyxkCyryzkdjb> list=ywRqQyjyxkCyryzkdjbDao.find(hql);
		for(int i=0;i<list.size();i++)
		{
			ywRqQyjyxkCyryzkdjbDao.delete(list.get(i));
		}
		
		String cyryzs = null;//从业人员总数
		String glry = null;//管理人员
		String xljySsysSl = null;//学历教育--硕士以上
		String xljyBkysSl = null;//学历教育--本科以上
		String xljyZkysSl = null;//学历教育--专科以上
		String xljyHjSl = null;//学历教育--合计
		String zyjsryGjSl = null;//专业技术人员--高级
		String zyjsryZjSl = null;//专业技术人员--中级
		String zyjsryCjSl = null;//专业技术人员--初级
		String zyjsryHjSl = null;//专业技术人员--合计
		String aqglryZcaqgcsSl = null;//安全管理人员--注册安全工程师
		String aqglryZcgjaqzrSl = null;//安全管理人员--注册高级安全主任
		String aqglryZczjaqzrSl = null;//安全管理人员--注册中级安全主任
		String aqglryZccjaqzrSl = null;//安全管理人员--注册初级安全主任
		String aqglryAqrSl = null;//安全管理人员--安全人
		String aqglryHjSl = null;//安全管理人员--合计
		String yxhfwryGdxjgSl = null;//运行或服务人员--管道巡检工
		String yxhfwryAjySl = null;//运行或服务人员--安检员
		String yxhfwryGzgSl = null;//运行或服务人员--灌装工
		String yxhfwrySqgSl = null;//运行或服务人员--送气工
		String yxhfwryDgSl = null;//运行或服务人员--电工
		String yxhfwryQxrySl = null;//运行或服务人员--抢险人员
		String yxhfwryKfrySl = null;//运行或服务人员--客服人员
		String yxhfwryHjSl = null;//运行或服务人员--合计
		String yxhfwryYzgSl=null;
		
		YwRqQyjyxkCyryzkdjb ywRqQyjyxkCyryzkdjb = new YwRqQyjyxkCyryzkdjb();
		ywRqQyjyxkCyryzkdjb.setQyid(qyid);
		ywRqQyjyxkCyryzkdjb.setUploadDate(new Date());
		ywRqQyjyxkCyryzkdjb.setUserName(username);
		ywRqQyjyxkCyryzkdjb.setAcceptNo(acceptNo);
 		try {
 			
 			HSSFRow hssfrow = hssfsheet.getRow(0);// 第一行
 				// 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
 				for (int j = 0; j < hssfsheet.getPhysicalNumberOfRows(); j++) {
 					hssfrow = hssfsheet.getRow(j);
 					// 判断是否还存在需要导入的数据
 					if (hssfrow == null) {
 						//System.out.println("这里已没有数据，在第" + i + "列,第" + j + "行") = null;
 						break;
 					}
 					if (j == 2) {//第一行
 						if (hssfrow.getCell((short) 1) == null) {
 							cyryzs = "";
 						} else if (hssfrow.getCell((short) 1).getCellType() == 0) {
 							cyryzs = new Double(hssfrow.getCell((short) 1).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							cyryzs = hssfrow.getCell((short) 1).getStringCellValue().trim();
 						}
 						if (hssfrow.getCell((short) 4) == null) {
 							glry = "";
 						} else if (hssfrow.getCell((short) 4).getCellType() == 0) {
 							glry = new Double(hssfrow.getCell((short) 4).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							glry = hssfrow.getCell((short) 4).getStringCellValue().trim();
 						}
 						ywRqQyjyxkCyryzkdjb.setCyryzs(cyryzs);
 						ywRqQyjyxkCyryzkdjb.setGlry(glry);
 					}
 					if (j == 4) {//第3行
 						if (hssfrow.getCell((short) 2) == null) {
 							xljySsysSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							xljySsysSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							xljySsysSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setXljySsysSl(xljySsysSl);
 					} 					
 					if (j == 5) {//第4行
 						if (hssfrow.getCell((short) 2) == null) {
 							xljyBkysSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							xljyBkysSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							xljyBkysSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setXljyBkysSl(xljyBkysSl);
 					}
 					if (j == 6) {//第5行
 						if (hssfrow.getCell((short) 2) == null) {
 							xljyZkysSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							xljyZkysSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							xljyZkysSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setXljyZkysSl(xljyZkysSl);
 					}
 					if (j == 7) {//第6行
 						if (hssfrow.getCell((short) 2) == null) {//学历教育--合计
 							xljyHjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							xljyHjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							xljyHjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setXljyHjSl(xljyHjSl);
 					}
 					if (j == 8) {//第7行
 						if (hssfrow.getCell((short) 2) == null) {//专业技术人员--高级
 							zyjsryGjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							zyjsryGjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zyjsryGjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setZyjsryGjSl(zyjsryGjSl);
 					}
 					if (j == 9) {//第8行
 						if (hssfrow.getCell((short) 2) == null) {//专业技术人员--中级
 							zyjsryZjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							zyjsryZjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zyjsryZjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setZyjsryZjSl(zyjsryZjSl);
 					}
 					if (j == 10) {//第9行
 						if (hssfrow.getCell((short) 2) == null) {//专业技术人员--初级
 							zyjsryCjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							zyjsryCjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zyjsryCjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setZyjsryCjSl(zyjsryCjSl);
 					}
 					if (j == 11) {//第10行
 						if (hssfrow.getCell((short) 2) == null) {//专业技术人员--合计
 							zyjsryHjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							zyjsryHjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							zyjsryHjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setZyjsryHjSl(zyjsryHjSl);
 					}
 					if (j == 12) {//第11行
 						if (hssfrow.getCell((short) 2) == null) {//安全管理人员--注册安全工程师
 							aqglryZcaqgcsSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							aqglryZcaqgcsSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqglryZcaqgcsSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setAqglryZcaqgcsSl(aqglryZcaqgcsSl);
 					}
 					if (j == 13) {//第12行
 						if (hssfrow.getCell((short) 2) == null) {//安全管理人员--注册高级安全主任
 							aqglryZcgjaqzrSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							aqglryZcgjaqzrSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqglryZcgjaqzrSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setAqglryZcgjaqzrSl(aqglryZcgjaqzrSl);
 					}
 					if (j == 14) {//第13行
 						if (hssfrow.getCell((short) 2) == null) {//安全管理人员--注册中级安全主任
 							aqglryZczjaqzrSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							aqglryZczjaqzrSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqglryZczjaqzrSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setAqglryZczjaqzrSl(aqglryZczjaqzrSl);
 					}
 					if (j == 15) {//第14行
 						if (hssfrow.getCell((short) 2) == null) {//安全管理人员--注册初级安全主任
 							aqglryZccjaqzrSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							aqglryZccjaqzrSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqglryZccjaqzrSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setAqglryZccjaqzrSl(aqglryZccjaqzrSl);
 					}
 					if (j == 16) {//第15行
 						if (hssfrow.getCell((short) 2) == null) {//安全管理人员--安全员
 							aqglryAqrSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							aqglryAqrSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqglryAqrSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setAqglryAqrSl(aqglryAqrSl);
 					}
 					if (j == 17) {//第16行
 						if (hssfrow.getCell((short) 2) == null) {//安全管理人员--合计
 							aqglryHjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							aqglryHjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							aqglryHjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setAqglryHjSl(aqglryHjSl);
 					}
 					if (j == 18) {//第17行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--管道巡检工
 							yxhfwryGdxjgSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryGdxjgSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryGdxjgSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryGdxjgSl(yxhfwryGdxjgSl);
 					}
 					if (j == 19) {//第18行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--安检员
 							yxhfwryAjySl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryAjySl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryAjySl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryAjySl(yxhfwryAjySl);
 					}
 					if (j == 20) {//第19行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--灌装工
 							yxhfwryGzgSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryGzgSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryGzgSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryGzgSl(yxhfwryGzgSl);
 					}
 					if (j == 21) {//第19行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--灌装工
 							yxhfwryYzgSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryYzgSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryYzgSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryYzgSl(yxhfwryYzgSl);
 					}
 					if (j == 22) {//第20行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--送气工
 							yxhfwrySqgSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwrySqgSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwrySqgSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwrySqgSl(yxhfwrySqgSl);
 					}
 					if (j == 23) {//第21行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--电工
 							yxhfwryDgSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryDgSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryDgSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryDgSl(yxhfwryDgSl);
 					}
 					if (j == 24) {//第22行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--抢险人员
 							yxhfwryQxrySl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryQxrySl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryQxrySl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryQxrySl(yxhfwryQxrySl);
 					}
 					if (j == 25) {//第23行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--客服人员
 							yxhfwryKfrySl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryKfrySl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryKfrySl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryKfrySl(yxhfwryKfrySl);
 					}
 					if (j == 26) {//第24行
 						if (hssfrow.getCell((short) 2) == null) {//运行或服务人员--客服人员
 							yxhfwryHjSl = "";
 						} else if (hssfrow.getCell((short) 2).getCellType() == 0) {
 							yxhfwryHjSl = new Double(hssfrow.getCell((short) 2).getNumericCellValue()).toString();
 						} else {// 如果EXCEL表格中的数据类型为字符串型
 							yxhfwryHjSl = hssfrow.getCell((short) 2).getStringCellValue().trim();
 						} 						
 						ywRqQyjyxkCyryzkdjb.setYxhfwryHjSl(yxhfwryHjSl);
 					}
 				}
 		}catch(Exception e){
 			e.printStackTrace();
 		}
 		this.save(ywRqQyjyxkCyryzkdjb);
		return ywRqQyjyxkCyryzkdjb;
	}

	/**
     * 导出 从业人员状况登记表
     * @param hssfsheet
     * @param acceptNo
     * @param qyid
     * @return HSSFSheet
     */
    public HSSFSheet expCyryzkdjb(HSSFSheet hssfsheet,
            String acceptNo, Long qyid, String username,HSSFCellStyle cs,String exptype) {
        if("qyxx".equals(exptype)){
            List<YwRqQyjyxkFinalCyryzkdjb> list=cyryzkService.getInfosByQyid(qyid);
            YwRqQyjyxkFinalCyryzkdjb entity=null;
            if(list!=null &&list.size()>0){
                entity=list.get(0);
                HSSFRow hssfrow = hssfsheet.getRow(0);// 第一行
                // 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
                for (int j = 0; j < hssfsheet.getPhysicalNumberOfRows(); j++) {
                    hssfrow = hssfsheet.getRow(j);
                    if (hssfrow == null) {
                        break;
                    }
                    if (j == 2) {//第一行
                        HSSFCell cell1=hssfrow.createCell((short)1);   //创建一个单元格  HSSFCell类表示单元格  
                        cell1.setCellValue(entity.getCyryzs()==null?"":entity.getCyryzs());   //设置单元格内容 
                        cell1.setCellStyle(cs); 
                        
                        hssfsheet.addMergedRegion(new Region(1,(short)4,1,(short)5)); // 四个参数分别是：起始行，起始列，结束行，结束列 
                        HSSFCell cell4=hssfrow.createCell((short)4);   //创建一个单元格  HSSFCell类表示单元格  
                        cell4.setCellValue(entity.getGlry()==null?"":entity.getGlry());   //设置单元格内容 
                        cell4.setCellStyle(cs); 
                    }
                    if(j == 4){//第3行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljySsysSl()==null?"":entity.getXljySsysSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 5){//第4行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljyBkysSl()==null?"":entity.getXljyBkysSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }   
                    if(j == 6){//第5行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljyZkysSl()==null?"":entity.getXljyZkysSl());   //设置单元格内容
                        cell.setCellStyle(cs); 
                    }
                    if(j == 7){//第6行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljyHjSl()==null?"":entity.getXljyHjSl());   //设置单元格内容 
                        cell.setCellStyle(cs); 
                    }
                    if(j == 8){//第7行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryGjSl()==null?"":entity.getZyjsryGjSl());   //设置单元格内容 
                        cell.setCellStyle(cs); 
                    }
                    if(j == 9){//第8行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryZjSl()==null?"":entity.getZyjsryZjSl());   //设置单元格内容 
                        cell.setCellStyle(cs); 
                    }
                    if(j == 10){//第9行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryCjSl()==null?"":entity.getZyjsryCjSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 11){//第10行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryHjSl()==null?"":entity.getZyjsryHjSl());   //设置单元格内容
                        cell.setCellStyle(cs); 
                    }
                    if(j == 12){//第11行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZcaqgcsSl()==null?"":entity.getAqglryZcaqgcsSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 13){//第12行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZcgjaqzrSl()==null?"":entity.getAqglryZcgjaqzrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 14){//第13行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZczjaqzrSl()==null?"":entity.getAqglryZczjaqzrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 15){//第14行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZccjaqzrSl()==null?"":entity.getAqglryZccjaqzrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 16){//第15行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryAqrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 17){//第16行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryHjSl()==null?"":entity.getAqglryHjSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 18){//第17行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryGdxjgSl()==null?"":entity.getYxhfwryGdxjgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 19){//第18行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryAjySl()==null?"":entity.getYxhfwryAjySl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 20){//第19行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryGzgSl()==null?"":entity.getYxhfwryGzgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 21){//第20行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwrySqgSl()==null?"":entity.getYxhfwrySqgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 22){//第21行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryDgSl()==null?"":entity.getYxhfwryDgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 23){//第22行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryQxrySl()==null?"":entity.getYxhfwryQxrySl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 24){//第23行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryKfrySl()==null?"":entity.getYxhfwryKfrySl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 25){//第24行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryHjSl()==null?"":entity.getYxhfwryHjSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
              }
            }
        }else{
            YwRqQyjyxkCyryzkdjb entity = this.get(qyid);
            if(entity == null) return null;
            if(entity!=null) {
                HSSFRow hssfrow = hssfsheet.getRow(0);// 第一行
                // 遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数
                for (int j = 0; j < hssfsheet.getPhysicalNumberOfRows(); j++) {
                    hssfrow = hssfsheet.getRow(j);
                    
                    if (hssfrow == null) {
                        break;
                    }
                    if (j == 2) {//第一行
                        HSSFCell cell1=hssfrow.createCell((short)1);   //创建一个单元格  HSSFCell类表示单元格  
                        cell1.setCellValue(entity.getCyryzs()==null?"":entity.getCyryzs());   //设置单元格内容 
                        cell1.setCellStyle(cs); 
                        
                        hssfsheet.addMergedRegion(new Region(1,(short)4,1,(short)5)); // 四个参数分别是：起始行，起始列，结束行，结束列 
                        HSSFCell cell4=hssfrow.createCell((short)4);   //创建一个单元格  HSSFCell类表示单元格  
                        cell4.setCellValue(entity.getGlry()==null?"":entity.getGlry());   //设置单元格内容 
                        cell4.setCellStyle(cs); 
                    }
                    if(j == 4){//第3行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljySsysSl()==null?"":entity.getXljySsysSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 5){//第4行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljyBkysSl()==null?"":entity.getXljyBkysSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }   
                    if(j == 6){//第5行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljyZkysSl()==null?"":entity.getXljyZkysSl());   //设置单元格内容
                        cell.setCellStyle(cs); 
                    }
                    if(j == 7){//第6行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getXljyHjSl()==null?"":entity.getXljyHjSl());   //设置单元格内容 
                        cell.setCellStyle(cs); 
                    }
                    if(j == 8){//第7行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryGjSl()==null?"":entity.getZyjsryGjSl());   //设置单元格内容 
                        cell.setCellStyle(cs); 
                    }
                    if(j == 9){//第8行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryZjSl()==null?"":entity.getZyjsryZjSl());   //设置单元格内容 
                        cell.setCellStyle(cs); 
                    }
                    if(j == 10){//第9行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryCjSl()==null?"":entity.getZyjsryCjSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 11){//第10行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getZyjsryHjSl()==null?"":entity.getZyjsryHjSl());   //设置单元格内容
                        cell.setCellStyle(cs); 
                    }
                    if(j == 12){//第11行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZcaqgcsSl()==null?"":entity.getAqglryZcaqgcsSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 13){//第12行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZcgjaqzrSl()==null?"":entity.getAqglryZcgjaqzrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 14){//第13行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZczjaqzrSl()==null?"":entity.getAqglryZczjaqzrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 15){//第14行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryZccjaqzrSl()==null?"":entity.getAqglryZccjaqzrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 16){//第15行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryAqrSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 17){//第16行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getAqglryHjSl()==null?"":entity.getAqglryHjSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 18){//第17行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryGdxjgSl()==null?"":entity.getYxhfwryGdxjgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 19){//第18行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryAjySl()==null?"":entity.getYxhfwryAjySl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 20){//第19行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryGzgSl()==null?"":entity.getYxhfwryGzgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 21){//第20行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwrySqgSl()==null?"":entity.getYxhfwrySqgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 22){//第21行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryDgSl()==null?"":entity.getYxhfwryDgSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 23){//第22行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryQxrySl()==null?"":entity.getYxhfwryQxrySl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 24){//第23行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryKfrySl()==null?"":entity.getYxhfwryKfrySl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
                    if(j == 25){//第24行
                        hssfsheet.addMergedRegion(new Region(1,(short)2,1,(short)3)); // 四个参数分别是：起始行，起始列，结束行，结束列
                        HSSFCell cell=hssfrow.createCell((short)2);   //创建一个单元格  HSSFCell类表示单元格 
                        cell.setCellValue(entity.getYxhfwryHjSl()==null?"":entity.getYxhfwryHjSl());   //设置单元格内容  
                        cell.setCellStyle(cs); 
                    }
              }
            }
        }
       
        return hssfsheet;
    }

    /**
     * 导入从业人员
     */
    public void importFinalQyData(String acceptNo, Long qyid) {
        List<YwRqQyjyxkCyryzkdjb> list=this.getList(acceptNo, qyid);
        if(list!=null && list.size()>0){
            YwRqQyjyxkCyryzkdjb entity= list.get(0);
            List<YwRqQyjyxkFinalCyryzkdjb> datas=this.cyryzkService.getInfosByQyid(qyid);
            if(datas!=null && datas.size()>0){
                YwRqQyjyxkFinalCyryzkdjb finalcyry=datas.get(0);
                Long id=finalcyry.getId();
                finalcyry = new DozerBeanMapper().map(entity, YwRqQyjyxkFinalCyryzkdjb.class);
                finalcyry.setId(id);
                this.cyryzkService.save(finalcyry);
            }else{
                YwRqQyjyxkFinalCyryzkdjb finalcyry = new DozerBeanMapper().map(entity, YwRqQyjyxkFinalCyryzkdjb.class);
                finalcyry.setId(null);
                this.cyryzkService.save(finalcyry);
            }
            
        }
        
        
    }

    /**
     * 获取列表
     * @param acceptNo
     * @param qyid
     * @return
     */
    private List<YwRqQyjyxkCyryzkdjb> getList(String acceptNo,Long qyid){
        String hql=" from "+YwRqQyjyxkCyryzkdjb.class.getName()+" where acceptNo='"+acceptNo+"' and qyid='"+qyid+"'";
        List<YwRqQyjyxkCyryzkdjb> list=this.ywRqQyjyxkCyryzkdjbDao.find(hql);
        return list;
    }
}
